home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
8bitfiles.net/archives
/
archives.tar
/
archives
/
geos-archive
/
GEOS-D64
/
GEOS Mega ASM (19xx)(-).d64
/
list8-1.text
< prev
next >
Wrap
Text File
|
2019-04-13
|
7KB
|
328 lines
if .p
t "TopSym"
t "TopMac"
endif
n "VLIR2-ModRes.obj"
c "VLIR2-Bsp. V1.0"
a "DPT Knupe & Bonse"
f APPLICATION
z 0 ; C128: nur 40 Zeichen
o APP_RAM ; Anfang bei $400
p Start
:ModAnz = 4
:Start lda r0L
pha
jsr GetVLIRTable
pla
and #%01000000
beq :10
jsr drucken
jmp EnterDeskTop
::10 jsr DA_Init
lda #2
jsr SetPattern
jsr i_Rectangle
b 0,199
w 0,319
LoadW r0,Men}Tab
jsr DoMenu
LoadW r0,IconTab
jsr DoIcons
jsr |ffnen
jsr DispEntry
rts
:Men}Tab b 0,14
w 0,78
b 3
w geosText
b SUB_MENU
w geosMen}
w DateiText
b SUB_MENU
w DateiMen}
w EditText
b SUB_MENU
w EditMen}
:geosText b "geos",0
:DateiText b "Datei",0
:EditText b "Edit",0
:DateiMen} b 15,15+4 * 14+1
w 28,106
b VERTICAL ! 4
w Aktl_Text
b MENU_ACTION
w Aktualisieren
w Wdhst_Text
b MENU_ACTION
w Wiederherstellen
w DruckenText
b MENU_ACTION
w drucken
w EndeText
b MENU_ACTION
w verlassen
:Wdhst_Text b "Wiederherstellen",NULL
:Aktl_Text b "Aktualisieren",NULL
:DruckenText b "Drucken",NULL
:EndeText b "Verlassen",NULL
:infoText b "VLIR-Ex. Info",NULL
:EditMen} b 15,15+3*14+1
w 55,128
b VERTICAL ! 3
w [ndernText
b MENU_ACTION
w [ndern
w L|schenText
b MENU_ACTION
w L|schen
w Anf}genText
b MENU_ACTION
w Anf}gen
:[ndernText b "Eintrag {ndern",NULL
:L|schenText b "Eintrag l|schen",NULL
:Anf}genText b "Eintrag anf}gen",NULL
:IconTab b 2 ; zwei Icons
b 0,0,0 ; Maus nicht setzen
w Pfeillinks ; BitMap
b 5,150 ; Koordinaten
b PfLiBr,PfLiH| ; Gr|~e
w Zur}ck ; Adresse
w Pfeilrechts ; BitMap
b 34,150 ; Koordinaten
b PfReBr,PfReH| ; Gr|~e
w Weiter ; Adresse
:geosMen}
.geosoben b 15
.geosunten b 0 ; wird berechnet!
w 0,80
.geosanz b 0 ; wird eingesetzt!
w infoText
b MENU_ACTION
w InfoRoutine
w DASpace
b MENU_ACTION
w DA_Call
w DASpace+17
b MENU_ACTION
w DA_Call
w DASpace + 2*17
b MENU_ACTION
w DA_Call
w DASpace + 3*17
b MENU_ACTION
w DA_Call
w DASpace + 4*17
b MENU_ACTION
w DA_Call
w DASpace + 5*17
b MENU_ACTION
w DA_Call
w DASpace + 6*17
b MENU_ACTION
w DA_Call
w DASpace + 7*17
b MENU_ACTION
w DA_Call
.DASpace s 137
:AppClass b "VLIR2-Bsp. V1.0",0
:AppName s 18
:GetVLIRTable
LoadW r6,AppName
LoadB r7L,6
LoadB r7H,1
LoadW r10,AppClass
jsr FindFTypes ; "VLIR-Bps." suchen
txa
beq :10
jmp error
::10 LoadW r0,AppName
jsr OpenRecordFile ; VLIR-File |ffnen
txa
beq :20
jmp error
::20 jsr i_MoveData ; und auslesen:
w fileHeader+4 ; Anfangsbereich
w AppIndex ; Zielbereich
w ModAnz*2 ; Anzahl der Bytes
rts
:aktl_Mod b 0
:GetModule ; x: Modul-Nummer
cmp aktl_Mod
beq :10
sta aktl_Mod
txa ; Register retten
pha
tya
pha
ldx aktl_Mod
dex
txa
asl
tax
lda AppIndex,x
sta r1L
lda AppIndex+1,x
sta r1H
LoadW r7,ModStart
LoadW r2,$5fff-ModStart
jsr ReadFile
; Evtl. Fehlerbehandlung einf}gen
pla
tay
pla
tax
::10 rts
.VLIRName b "VLIR-Telefon",NULL
; aktueller Eintrag:
.A_Name s 31 ; 30 Daten- und ein NULL-Byte
.A_Nummer s 21 ; 20 Daten- und ein NULL-Byte
.DispEntry ; Eintrag darstellen
lda #0 ; Bildschirm l|schen
jsr SetPattern
jsr i_Rectangle
b 16,120
w 0,319
jsr i_PutString
w 120
b 25
b "Nummer des Datensatzes:",NULL
MoveB curRecord,r0L ; Nummer des Datensatzes
LoadB r0H,0 ; ausgeben
LoadW r11,250
LoadB r1H,25
lda #%11000000
jsr PutDecimal
jsr i_PutString
w 10
b 50
b "Name:",NULL
jsr i_PutString
w 10
b 80
b "Tel.-Nummer:",NULL
LoadW r11,80 ; Name bei 80/50
LoadB r1H,50 ; darstellen
LoadW r0,A_Name
jsr PutString
LoadW r11,80 ; Telefonnummer bei 80/80
LoadB r1H,80 ; darstellen
LoadW r0,A_Nummer
jmp PutString
.error LoadW r0,:db
jsr DoDlgBox
jmp EnterDeskTop
::db b $81 ; Standart-Dialogbox
b DBTXTSTR,$10,$10
w :t1
b DBTXTSTR,$10,$20
w :t2
b CANCEL,17,72
b NULL
::t1 b "Es ist ein Diskettenfehler",NULL
::t2 b "aufgetreten!",NULL
:AppIndex s ModAnz*2
:Pfeilrechts:PfReBr =.x
:PfReH| =.y
:Pfeillinks:PfLiBr =.x
:PfLiH| =.y
:InfoRoutine
lda #1 ; Modul #1
jsr GetModule
jmp ModStart ; erster Einsprung
:DA_Init
lda #2 ; Modul #2
jsr GetModule
jmp ModStart
:DA_Call
tax ; Nummer merken
lda #2 ; Modul #2
jsr GetModule
jmp ModStart+3 ; 2. Einsprung
:Aktualisieren
lda #3 ; Modul #3
jsr GetModule
jsr ModStart ; 1. Einsprung
jmp GotoFirstMenu
:Wiederherstellen
jsr GotoFirstMenu
lda #3
jsr GetModule
jsr ModStart+3 ; 2. Einsprung
jmp DispEntry
:verlassen
lda #3
jsr GetModule
jmp ModStart+6 ; 3. Einpsrung
:|ffnen
lda #03
jsr GetModule
jmp ModStart+9 ; 4. Einsprung
:drucken lda #03
jsr GetModule
jsr GotoFirstMenu
jmp ModStart+12 ; 5. Einsprung
:[ndern lda #04 ; Modul #4
jsr GetModule
jmp ModStart ; 1. Einsprung
:Anf}gen lda #04 ; Modul #4
jsr GetModule
jmp ModStart+3 ; 2. Einsprung
:L|schen lda #04 ; Modul #4
jsr GetModule
jmp ModStart+6 ; 3. Einsprung
:Weiter lda #04
jsr GetModule
jmp ModStart+9
:Zur}ck lda #04
jsr GetModule
jmp ModStart+12
.ModStart